From: Florian Müllner Date: Thu, 21 May 2015 16:14:51 +0000 (+0200) Subject: windowMenu: Close when corresponding window goes away X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~1346 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=60d1f7797cb836d9aaef1aa0301bbd4b0171991e;p=gnome-shell.git windowMenu: Close when corresponding window goes away The menu is clearly associated with a particular window, so keeping it around when the window is gone doesn't make sense - in case of the window menu, it is actually harmful as every action will act on the invalidated window and result in a crash. So just dismiss the menu when the menu is unmanaged. https://bugzilla.gnome.org/show_bug.cgi?id=749529 --- diff --git a/js/ui/windowMenu.js b/js/ui/windowMenu.js index a31482131..1f26eb4c0 100644 --- a/js/ui/windowMenu.js +++ b/js/ui/windowMenu.js @@ -200,6 +200,10 @@ const WindowMenuManager = new Lang.Class({ menu.connect('activate', function() { window.check_alive(global.get_current_time()); }); + let destroyId = window.connect('unmanaged', + function() { + menu.close(); + }); this._sourceActor.set_size(rect.width, rect.height); this._sourceActor.set_position(rect.x, rect.y); @@ -213,6 +217,7 @@ const WindowMenuManager = new Lang.Class({ this._sourceActor.hide(); menu.destroy(); + window.disconnect(destroyId); })); } });